/**
 * Copyright (C), 2020, 安徽贝慕信息科技有限公司
 * FileName: DealerAppQuery
 * Author:   Allen
 * Date:     2020/8/26 20:32
 * Description: 商家应用接入号登记信息入参
 * History:
 * <author>          <time>          <version>          <desc>
 * 作者姓名           修改时间           版本号              描述
 */
package com.bim.marvel.openapi.client.query;

import io.swagger.annotations.ApiParam;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * 〈商家应用接入号登记信息入参〉
 *
 * @author Allen
 * @date 2020/8/26
 * @since 1.0.0
 */
@Data
public class DealerAppQuery implements Serializable {
    /**
     * 商家应用接入号-可系统生成也可用户输入
     */
    @ApiParam(value = "商家应用接入号", name = "appId", example = "test")
    private String appId;

    /**
     * 应用类型（0：应用类-无用户信息，1：账户类-需要用户信息）
     */
    @ApiParam(value = "应用类型", name = "appType", example = "0", required = true)
    @NotNull
    private String appType;

    /**
     * 探索者平台关联登录用户（当appType为1时，此项必填）
     */
    @ApiParam(value = "探索者平台关联登录用户", name = "marvelLoginName", example = "13694321987")
    private String marvelLoginName;

    /**
     * //TODO 后续整个AUTH需结合前台实现加密密码传输
     * 探索者平台关联登录密码(由于Auth目前的传递方式，暂时以明文形式存储)
     */
    @ApiParam(value = "探索者平台关联登录密码", name = "marvelLoginPassword", example = "*********")
    private String marvelLoginPassword;
    /**
     * 申请用途描述
     */
    @ApiParam(value = "申请用途描述", name = "appDescription", example = "临时调试", required = true)
    @NotNull
    private String appDescription;
    /**
     * 申请人
     */
    @ApiParam(value = "申请人", name = "proposer", example = "张三")
    private String proposer;

    /**
     * 联系电话
     */
    @ApiParam(value = "联系电话", name = "phone", example = "13569549126", required = true)
    @NotEmpty
    private String phone;

    /**
     * 所属企业编号
     */
    @ApiParam(value = "所属企业编号", name = "companyCode", example = "1264422975395299329", required = true)
    @NotEmpty
    private String companyCode;

    /**
     * 申请接入的资源列表（以逗号为分隔符）-前端处理入参格式
     */
    @ApiParam(value = "申请接入的资源列表", name = "resourceIds", example = "marvel-open-api,marvel-auth-server",
            required = true)
    @NotEmpty
    private String resourceIds;
}
